import axios from 'axios'
import router from '../router/index.js'
import msg from './msg'


//创建通用axios
let instance = axios.create({
    responseType: 'json',
    headers: {
        'Content-Type': 'application/json',
        'version': 'v1',
        'Accept': 'application/zero-stand',
    },
})

function encodeBasefun() {
    //本地缓存取出token
    const token = localStorage.getItem('token')

    return token
}

// 添加请求拦截器
instance.interceptors.request.use(
    function (config) {
        console.log(config)
        // 在发送请求之前做些什么
        let str = config.url
        let token = localStorage.getItem('token')
        if (token) {
            config.headers.Authorization = encodeBasefun()
        }else if(str.substr(-5,5) != 'login'){
            msg.General('登录超时','已自动退出,请重新登录','warning');
            router.push({path:'/'})
        }
        return config;
    },
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 添加响应拦截器
instance.interceptors.response.use(
    function (response) {
        // 对响应数据做点什么
        return response;
    },
    function (error) {
        // 对响应错误做点什么
        return Promise.reject(error);
    }
);

export default instance